/**
 * [description]
 * @author lu.hong 2016-09-05
 * @param  {[type]} $scope        [description]
 * @param  {[type]} i18nService   [description]
 * @param  {[type]} dialogService [description]
 * @param  {[type]} ngNotify      [description]
 * @param  {[type]} $compile)     {}          [description]
 * @return {[type]}               [description]
 */
angular.module('app').controller('codemirrorController', ['$scope','i18nService','dialogService','codeEditorService','ngNotify','$compile',function($scope,i18nService,dialogService,codeEditorService,ngNotify,$compile) {

	//使用angular service init(id,opts)
	//var editor_demo = codeEditorService.init("codemirror_demo");


	var CodeMirror = require('codemirror');

	var editor = CodeMirror.fromTextArea($("#script_once_code")[0], { //script_once_code为你的textarea的ID号
		lineNumbers: true,//是否显示行号
		mode:"cypher",　//默认脚本编码 shell
		lineWrapping:true, //是否强制换行
		styleActiveLine: true, //line选择是是否加亮
		showCursorWhenSelecting : true
		
	});

	//选择界面风格JS
	$('#select').change(function(){
	     var theme = $('#select').val();
	     editor.setOption("theme", theme); //editor.setOption()为codeMirror提供的设置风格的方法
	}); 

	//选择脚本类型JS
	var txt1=$("#script_once_code").val();
	var txt2='';
	var txt3=$("#code2").val();
	$(".ck-code").click(function(){
	       var txt=editor.getValue(); //editor.getValue()获取textarea中的值
	       var lang=$(this).prop("id");
	       if(lang=="script_once_type1") {
	               editor.setOption("mode","shell");//editor.setOption()设置脚本类型
	                   editor.setValue(txt1);// editor.setValue()设置textarea中的值
	       }
	       else if(lang=="script_once_type2") {
	               editor.setOption("mode","cypher");
	               editor.setValue(txt2);
	       }
	       else {
	               editor.setOption("mode","sql");
	               editor.setValue(txt3);
	    
	       }
	});



	var editor_demo = CodeMirror.fromTextArea(document.getElementById("codemirror_demo"), {  // 标识到textarea
			value : "http://www.cnblogs.com/oldphper",  // 文本域默认显示的文本
			//mode : "text/html",  // 模式
			theme : 'neo',// CSS样式选择
			mode: "cypher",
			indentUnit : 2,  // 缩进单位，默认2
			smartIndent : true,  // 是否智能缩进
			tabSize : 4,  // Tab缩进，默认4
			readOnly : false,  // 是否只读，默认false
			showCursorWhenSelecting : true,
			lineWrapping: true,
			styleActiveLine: true, //line选择是是否加亮
			indentWithTabs: false,
			lineNumbers : true  // 是否显示行号
    });
	//editor_demo.setSize(800 ,  100);


	var editor_cypher = CodeMirror.fromTextArea(document.getElementById("codemirror_cypher"), {  // 标识到textarea
			//value : "http://www.cnblogs.com/oldphper",  // 文本域默认显示的文本
			theme : 'neo',//CSS样式选择
			mode: "cypher",//模式 text/html javascript
			indentUnit : 2,  //缩进单位，默认2
			smartIndent : true,  //是否智能缩进
			tabSize : 4,  //Tab缩进，默认4
			readOnly : false,  //是否只读，默认false
			showCursorWhenSelecting : true,
			lineWrapping: true,
			indentWithTabs: false,
			styleActiveLine: true, //line选择是是否加亮
			matchBrackets: true,
			lineNumbers : true //是否显示行号
    });
    editor_cypher.setValue("CREATE (n:Person { name: 'Dan' }) RETURN n");


}]);